Repository navigation
Preserve thinking.display for adaptive-thinking Anthropic requests - #481
Merged
ekeith (evanmkeith) merged 1 commit intoOct 7, 2026
Conversation
…ATE-107) ## Context On the adaptive-thinking path (Opus 4.7+, Opus 5, Sonnet 5), the Anthropic adapter rebuilds `thinking` with `display: None`, dropping a caller's `display: "summarized"`. Sonnet 5 / Opus 5 default to `omitted`, so thinking comes back empty, including via Bedrock-Anthropic. Reported in Pylon 22861 / GATE-107. ## Description - Carry `display` from the original `thinking` (typed via `Thinking`) into the rebuilt object; error if the extras don't parse. - No change when `display` is absent or the request didn't come from Anthropic format. - Add round-trip tests for the Anthropic and Bedrock-Anthropic adapters. ## Testing - `cargo test -p lingua`, `fmt --check`, `clippy -D warnings`: pass. - New tests fail with the fix reverted and pass with it.
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
Erin McNulty (erin2722)
approved these changes
Oct 6, 2026
Erin McNulty (erin2722)
left a comment
Contributor
There was a problem hiding this comment.
thanks ekeith (@evanmkeith) !!
ekeith (evanmkeith)
pushed a commit
that referenced
this pull request
Oct 9, 2026
) Adds live payload coverage for #481's preservation of `thinking.display: "summarized"` on adaptive-thinking requests. - Capture Sonnet 5 and Opus 5 through Anthropic and Bedrock Anthropic, including non-streaming, streaming, and follow-up requests/responses (24 native files). - Capture six transformations to Chat Completions, Responses, and Google; add 12 request/response snapshot entries. Existing snapshot entries are unchanged. Sonnet uses a state-equation problem to exercise adaptive thinking; a simple arithmetic prompt can be answered without thinking even with summarized display enabled. ## Capture results All four native capture suites and all six cross-provider captures succeeded against real APIs. | Model / provider | Thinking characters | Streaming thinking characters | | --- | ---: | ---: | | Sonnet 5 / Anthropic | 1,217 | 1,324 | | Sonnet 5 / Bedrock Anthropic | 1,898 | 2,897 | | Opus 5 / Anthropic | 16 | 21 | | Opus 5 / Bedrock Anthropic | 31 | 31 | ## Validation - `make capture FILTER=AdaptiveThinkingDisplaySummarizedParam`: pass; force-recaptured Sonnet after choosing the reasoning prompt, then re-ran capture to confirm artifacts are present. - `cargo test -p lingua adaptive_thinking_display`: both existing adapter regression tests pass. - Reverting only #481's display-preservation logic in an isolated checkout: both existing adapter regressions fail with `None` versus `Some(Summarized)`; both pass with the fix present. - `make test-payloads`: 1,830 pass, 106 skip. - Payload fixture sync: 853 pass, 74 skip. - Payload typecheck, focused lint, Rust/TypeScript formatting, cross-provider guard, and typed-boundary checks: pass. <!-- sfk:slack-thread --> [Slack thread](https://braintrustdata.slack.com/archives/C0AQK98PW5C/p1791476806483969?thread_ts=1791476806.483969&cid=C0AQK98PW5C) --------- Co-authored-by: Starfolk <noreply@starfolk.ai>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Context
On the adaptive-thinking path (Opus 4.7+, Opus 5, Sonnet 5), the Anthropic adapter rebuilds
thinkingwithdisplay: None, dropping a caller'sdisplay: "summarized". Sonnet 5 / Opus 5 default toomitted, so thinking comes back empty, including via Bedrock-Anthropic.Description
displayfrom the originalthinking(typed viaThinking) into the rebuilt object; error if the extras don't parse.displayis absent or the request didn't come from Anthropic format.Testing
cargo test -p lingua,fmt --check,clippy -D warnings: pass.Addresses Linear GATE-107